<!DOCTYPE html>
<html>

<head>
  <script src="./konva.min.js"></script>
  <meta charset="utf-8" />
  <title>Konva Shape Events Demo</title>
  <style>
    body {
      margin: 0;
      padding: 0;
      overflow: hidden;
      background-color: #f0f0f0;
    }
  </style>
</head>

<body>
  <div id="container"></div>
  <script>

    var stage = new Konva.Stage({
      container: 'container',
      width: window.innerWidth,
      height: window.innerHeight
    })

    var layer = new Konva.Layer()

    var triangle = new Konva.RegularPolygon({
      x: 200,
      y: 200,
      sides: 3,
      radius: 80,
      fill: '#00D2FF',
      stroke: 'black',
      strokeWidth: 4
    })

    var text = new Konva.Text({
      x: 10,
      y: 10,
      fontFamily: 'Calibri',
      fontSize: 24,
      text: 'XXXXXXX',
      fill: 'black'
    })
    function writeMessage (message) {
      text.text(message)
      layer.draw()
    }

    triangle.on('mouseout', function () {
      writeMessage('Mouseout triangle')
    })

    triangle.on('mousemove', function () {
      var mousePos = stage.getPointerPosition()

      console.log('%c [  ]-60', 'font-size:13px; background:pink; color:#bf2c9f;', mousePos)
      var x = mousePos.x - 190
      var y = mousePos.y - 40
      writeMessage('x: ' + x + ', y: ' + y)
    })

    var circle = new Konva.Circle({
      x: 300,
      y: 300,
      radius: 60,
      fill: 'red',
      stroke: 'black',
      strokeWidth: 4
    })

    circle.on('mouseover', function () {
      writeMessage('Mouseover circle')
    })
    circle.on('mouseout', function () {
      writeMessage('Mouseout circle')
    })
    circle.on('mousedown', function () {
      writeMessage('Mousedown circle')
    })
    circle.on('mouseup', function () {
      writeMessage('Mouseup circle')
    })

    layer.add(triangle)
    layer.add(circle)
    layer.add(text)

    // add the layer to the stage
    stage.add(layer);
  </script>
</body>

</html>